



        main{
            background: #f9f9f9;
        }
        main .headSwp{
            height: 750px;
        }
        main .headSwp .hdPagi{
            justify-content: flex-end;
            bottom: 70px;
            left: 50%;
            transform: translateX(-50%);
        }
        main .headSwp .hdPagi span{
            opacity: .2;
            background: #000;
        }
        main .headSwp .hdPagi span.swiper-pagination-bullet-active{
            opacity: 1;
            background: #fff;
        }

        main .order{
            margin-top: -60px;
            position: relative;
            z-index: 2;
        }
        main .order .hd{
            background: #fff;
            height: 142px;
            line-height: 1;
        }
        main .order .hd img{
            width: 170px;
            margin-left: 10px;
            margin-right: 45px;
        }
        main .order .hd .txt{
            flex: 1;
            padding-right: 10px;
            font-size: 18px;
        }
        main .order .hd .txt p:first-child{
            font-weight: bold;
            margin-bottom: 28px;
        }
        main .order .hd .txt p:first-child span{
            display: inline-block;
            vertical-align: top;
            padding: 1px 2px;
        }
        main .order .hd .txt P:last-child{
            color: #c1c1c1;
            font-size: 12px;
            line-height: 1.6;
        }
        main .order .hd .form{
            width: 50%;
            padding: 0px 64px;
            font-size: 14px;
        }
        main .order .hd .form .flex{
            margin-top: 20px;
        }
        main .order .hd .form .flex form{
            flex: 1;
            overflow: hidden;
            position: relative;
            
        }
        main .order .hd .form .flex form::before{
            content: '';
            pointer-events: none;
            border: 1px solid #EBEBEB;
            border-right-width: 0px;
            box-sizing: border-box;
        }
        main .order .hd .form .flex form::after{
            content: '';
            width: 1px;
            height: 30px;
            left: 45%;
            background: #EBEBEB;
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
        }
        main .order .hd .form .flex form input{
            width: 45%;
            line-height: 50px;
            font-size: 14px;   
            padding-left: 18px;
            float: left;
        }
        main .order .hd .form .flex form input:last-child{
            width: 55%;
        }
        main .order .hd .form .flex form input::placeholder{
            color: #c1c1c1;
        }
        main .order .hd .form .flex .book{
            width: 130px;
            line-height: 50px;
            font-size: 18px;
            text-align: center;
            letter-spacing: 4px;
            color: #fff;
            background: #a01f24;
        }
        

        main .service{
            margin-top: 60px;
            padding-bottom: 48px;
        }
        main .ttl{
            padding-top: 14px;
            line-height: 1;
            text-align: center;
            position: relative;
            z-index: 2;
        }
        main .ttl>*{
            opacity: 0;
            transform: translateY(20px);
            transition: opacity .5s,transform .5s;
        }
        main .ttl.frozen>*{
            opacity: 1;
            transform: translateY(0px);
        }
        main .ttl>p:first-child{
            font-weight: bold;
            font-size: 36px;
        }
        main .ttl>p:first-child + p{
            margin: 15px 0px;
            font-size: 18px;
            color: #666666;
        }
        main .ttl i{
            margin: 0 auto;
            width: 32px;
            height: 3px;
            justify-content: space-between;
        }
        main .ttl i::before,
        main .ttl i::after{
            content: '';
            height: 100%;
            width: 12px;
            height: 100%;
            background: #a01f24;
        }
        main .ttl .en{
            opacity: 1;
            text-transform: uppercase;
            white-space: nowrap;
            font-weight: bold;
            font-size: 71px;
            z-index: -1;
            transition: background 1.5s cubic-bezier(0.42, 0, 1, 0.84);
            position: absolute;
            top: 0px;
            left: 50%;
            transform: translateX(-50%);
            color:rgba(249,249,249,.1);
            background: -webkit-linear-gradient(right,
             #f9f9f9 40px,
             #a01f24 80px,
             #a01f24 280px,
             #f9f9f9 320px,
             #f9f9f9 100% );
            background-position: 200%,0px !important;
            background-repeat: no-repeat !important;
            -webkit-background-clip: text !important;
            background-size: 200% 100% !important;
        }
        main .service .ttl .en{
            color:rgba(255,255,255,.1);
            background: -webkit-linear-gradient(right,
             #fff 40px,
             #a01f24 80px,
             #a01f24 280px,
             #fff 320px,
             #fff 100% );
        }
        main .ttl.frozen .en{
            background-position:0px,0px !important;
        }
        

        main .service ul{
            margin-top: 48px;
        }
        main .service ul li{
            overflow: hidden;
            border-radius: 6px;
            margin-top: 42px;
            background: #fff;
        }
        main .service ul li:nth-child(even){
            flex-direction: row-reverse;
        }
        main .service ul li:first-child{
            margin-top: 0px;
        }
        main .service ul li .picTxt{
            width: 25%;
            position: relative;
            padding: 0px 32px;
            padding-top: 40px;
            color: #fff;
            line-height: 1;
            z-index: 2;
        }
        main .service ul li .picTxt::after{
            content: '';
            z-index: -1;
            transform-origin: top;
            transform: scaleY(0);
            transition: .6s ease;
        }
        main .service ul li.frozen .picTxt::after{
            transform: scaleY(1);
        }
        main .service ul li:nth-child(1) .picTxt::after{
            background: #f88264;
        }
        main .service ul li:nth-child(2) .picTxt::after{
            background: #7b5cff;
        }
        main .service ul li:nth-child(3) .picTxt::after{
            background: #5475ee;
        }
        main .service ul li .picTxt p:first-child{
            font-size: 48px;
            font-weight: bold;
        }
        main .service ul li .picTxt i{
            display: block;
            width: 90px;
            height: 4px;
            background: #fff;
            margin: 20px 0px;
            transform: translateX(100%) scaleX(0);
        }
        main .service ul li.frozen .picTxt i{
            animation: moveI 2s ease forwards;
        }
        @keyframes moveI{
            0%{
                transform-origin: right;
                transform: translateX(100%) scaleX(0);
            }30%{
                transform-origin: right;
                transform: translateX(60%) scaleX(.4);
            }56%{
                transform-origin: left;
                transform: translateX(60%) scaleX(.1);
            }76%{
                transform-origin: left;
                transform: translateX(30%) scaleX(.1);
            }100%{
                transform-origin: left;
                transform: translateX(0%) scaleX(1);
            }
        }
        main .service ul li .picTxt i + p{
            font-size: 18px;
        }
        main .service ul li .picTxt img{
            opacity: 0;
            position: absolute;
            bottom: 0px;
            left: 50%;
            transform: translateX(-50%);
            width: auto;
            max-width: 100%;
            transition: .6s;
        }
        main .service ul li .picTxt.frozen img{
            opacity: 1;
        }
        main .service ul li .list{
            flex: 1;
            overflow: hidden;
        }
        main .service ul li .list .item{
            width: calc(100% / 3);
            float: left;
            border-right: 1px solid #f2f2f2;
            padding: 36px;
            padding-top: 40px;
            font-size: 18px;
        }
        main .service ul li .list .item:nth-child(3n){
            border-color: transparent;
        }
        main .service ul li .list .item:nth-child(n + 4){
            border-top: 1px solid #f2f2f2;
        }
        main .service ul li .list .item .name{
            margin-bottom: 15px;
            line-height: 1;
        }
        main .service ul li .list .item .name span{
            line-height: 18px;
            display: inline-block;
            background: #a01f24;
            padding: 0px 3px;
            position: relative;
            vertical-align: top;
            color: #fff;
            font-size: 14px;
            margin-left: 12px;
        }
        main .service ul li .list .item .name span::after{
            content: '';
            position: absolute;
            right: 100%;
            top: 50%;
            transform: translateY(-50%);
            border-right:4px solid #a01f24;
            border-top: 4px solid transparent;
            border-bottom: 4px solid transparent;
        }
        main .service ul li .list .item .des,
        main .service ul li .list .item .advtg{
            color: #c1c1c1;
            font-size: 14px;
        }
        main .service ul li .list .item .advtg{
            margin-top:68px; 
            margin-bottom: 32px;
        }
        main .service ul li .list .item .advtg p{
            padding-left: 36px;
            position: relative;
            margin-top: 18px;
            line-height: 1;
            transition: all .4s;
        }
        main .service ul li .list .item:hover .advtg p{
            transform: translateY(-15px);
        }
        main .service ul li .list .item:hover .advtg p:nth-child(1){
            transition-delay: .05s;
        }
        main .service ul li .list .item:hover .advtg p:nth-child(2){
            transition-delay: .1s;
        }
        main .service ul li .list .item:hover .advtg p:nth-child(3){
            transition-delay: .15s;
        }
        main .service ul li .list .item:hover .advtg p:nth-child(4){
            transition-delay: .2s;
        }
        main .service ul li .list .item .advtg p:first-child{
            margin-top: 0px;
        }
        main .service ul li .list .item .advtg p img{
            position: absolute;
            height: 16px;
            width: auto;
            left: 0px;
            top: 0px;
        }
        main .service ul li .list .item a{
            transition: color .4s,background .4s;
            height: 50px;
        }
        main .service ul li .list .item a:hover{
            color: #fff !important;
        }
        main .service ul li:nth-child(1) .list .item a{
            color: #f88264;
            border: #f88264 solid 1px;
        }
        main .service ul li:nth-child(2) .list .item a{
            color: #7b5cff;
            border: #7b5cff solid 1px;
        }
        main .service ul li:nth-child(3) .list .item a{
            color: #5475ee;
            border: #5475ee solid 1px;
        }
        main .service ul li:nth-child(1) .list .item a:hover{
            background: #f88264;
        }
        main .service ul li:nth-child(2) .list .item a:hover{
            background: #7b5cff;
        }
        main .service ul li:nth-child(3) .list .item a:hover{
            background: #5475ee;
        }
        main .service ul li .list .item a span{
            position: relative;
            margin-left: 10px;
            transition: .4s ease;
        }
        main .service ul li .list .item a:hover span{
            margin-left: 18px;
        }

        main .team{
            margin-top: 48px;
            padding-top: 75px;
            background: #fff;
        }


        main .news{
            padding: 70px 0px;
            position: relative;
            z-index: 2;
            background: #a01f24;
        }
        main .news .bg{
            z-index: -1;
            opacity: .1;
        }
        main .news .ttl>p{
            color: #fff !important;
        }
        main .news .ttl>p:first-child + p{
            margin-top: 20px;
        }
        main .news .ttl .en{
            color: rgba(255,255,255,.3) !important;
            background: -webkit-linear-gradient(right, #fff 40px, #a01f24 80px, #a01f24 280px, rgba(255,255,255,.3) 320px, rgba(255,255,255,.3) 100% );
        }

        main .news .palace{
            margin-top: 45px;
            background: #fff;
            padding-bottom: 24px;
        }
        main .news .palace .main{
            flex: 1;
        }
        main .news .palace .questn{
            width: 25%;
            border-left: 1px solid #f2f2f2;
        }
        main .news .palace .hd{
            position: relative;
            height: 110px;
            justify-content: space-between;
            font-size: 18px;
            border-bottom: 1px solid #f2f2f2;
        }
        main .news .palace .main>*{
            padding-left: 45px;
            padding-right: 75px;
        }
        main .news .palace .questn>*{
            padding: 0px 28px;
        }
        main .news .palace .main .hd ul{
            overflow: hidden;
            margin-top: 12px;
            padding-bottom: 12px;
        }
        main .news .palace .main .hd ul li{
            position: relative;
            line-height: 1;
            margin-left: 100px;
            float: left;
            cursor: pointer;
        }
        main .news .palace .main .hd ul li,
        main .news .palace .questn .hd p{
            font-weight: bold;
        }
        main .news .palace .main .hd ul li:first-child{
            margin-left: 0px;
        }
        main .news .palace .main .hd ul li.active{
            color: #a01f24;
        }
        main .news .palace .main .hd ul li.active::after{
            content: '';
            width: 30px;
            height: 2px;
            position: absolute;
            bottom: -12px;
            left: 0px;
            background: #a01f24;
        }
        main .news .palace .hd .more{
            position: relative;
            padding-left: 28px;
            font-size: 16px;
            color: #c1c1c1;
        }
        main .news .palace .hd .more span{
            position: absolute;
            width: 16px;
            height: 16px;
            top: 0px;
            left: 0px;
            border: 1px solid #c1c1c1;
            border-radius: 50%;
        }
        main .news .palace .hd .more span::before,
        main .news .palace .hd .more span::after{
            content: '';
            position: absolute;
            width: 10px;
            height: 1px;
            background: #c1c1c1;
            left: 50%;
            top: 50%;
            transform: translate(-50%,-50%);
        }
        main .news .palace .hd .more span::after{
            transform: translate(-50%,-50%) rotate(90deg);
        }
        main .news .palace .tp{
            margin: 20px 0px;
            position: relative;
        }
        main .news .palace .main .tp .pic{
            width: 270px;
            height: 100%;
            position: absolute;
            top: 0px;
            left: 20px;
        }
        main .news .palace .tp .txt{
            padding: 20px 0px;
            line-height: 1;
            font-size: 12px;
            color: #c1c1c1;
        }
        main .news .palace .main .tp .txt{
            padding-left: 330px;
        }
        main .news .palace .title{
            font-size: 18px;
            font-weight: bold;
            color: #000;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 1;
            white-space: normal;
            word-break: break-all;
        }
        main .news .palace .date{
            line-height: 16px;
            padding-left: 20px;
            background: url(../img/index/date.png) no-repeat center left;
        }
        main .news .palace .tp .txt .date{
            margin-top: 20px;
            margin-bottom: 35px;
        }
        main .news .palace .tp .txt .des{
            line-height: 1.5;
            height: 36px;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            white-space: normal;
            word-break: break-all;
        }
        main .news .palace .main .list{
            flex-wrap: wrap;
        }
        main .news .palace .main .list .item{
            width: 50%;
        }
        main .news .palace .list .item{
            padding-top: 16px;
            padding-left: 24px;
            padding-bottom: 30px;
            border-top: 1px solid #f2f2f2;
        }
        main .news .palace .questn .list .item{
            display: block;
        }
        main .news .palace .main .list .item .title{
            position: relative;
            margin-left: -24px;
            padding-left: 24px;
        }
        main .news .palace .main .list .item .title::before{
            content: '';
            width: 7px;
            height: 12px;
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            left: -24px;
            background: url(../img/index/arw.png) no-repeat center center;
        }
        main .news .palace .list .item .date{
            margin-bottom: 12px;
        }


        

        main .cooperate{
            padding-top: 90px;
            background: #fff;
        }
        main .cooperate .ttl{
            margin-bottom: 56px;
        }
        main .cooperate .palace{
            padding: 70px 0px;
            padding-right: 86px;
            position: relative;
        }
        main .cooperate .palace .border{
            position: absolute;
            width: 50%;
            height: 100%;
            pointer-events: none;
            top: 0px;
            right: 0px;
        }
        main .cooperate .palace .border i{
            position: absolute;
            background: #f6c700;
        }
        main .cooperate .palace .border .hor{
            height: 70px;
            width: 0px;
            transition: width .4s;
        }
        main .cooperate .palace .border .ver{
            height: 0px;
            width: 86px;
            transition: height .25s;
        }
        main .cooperate .palace.frozen .border .hor{
            width: 100%
        }
        main .cooperate .palace.frozen .border .ver{
            height: 100%
        }
        main .cooperate .palace .border .rht,
        main .cooperate .palace .border .rht + *{
            right: 0px;
        }
        main .cooperate .palace .border .tp,
        main .cooperate .palace .border .tp + *{
            top: 0px;
        }
        main .cooperate .palace .border .btm{
            bottom: 0px;
        }
        main .cooperate .palace .border .rht + *{
            transition-delay: .8s;
        }
        main .cooperate .palace .border .tp + *{
            transition-delay: .4s;
        }
        main .cooperate .palace .border p{
            position: absolute;
            right: calc(86px / 2);
            top: 50%;
            white-space: nowrap;
            color: #fff;
            font-size: 24px;
            transform: translate(50%,-50%) rotate(90deg);
            text-transform: uppercase;
        }
        main .cooperate .palace .list{
            flex-wrap: wrap;
            border-left: 1px solid #f4f4f4;
            border-bottom: 1px solid #f4f4f4;
        }
        main .cooperate .palace .list .item {
            width: calc(50% / 3);
            border-top: 1px solid #f4f4f4;
            border-right: 1px solid #f4f4f4;
            height: 180px;
            position: relative;
        }
        main .cooperate .palace .list .item.frozen img {
            opacity: 1;
        }
        
        main .cooperate .palace .list .item img {
            max-width: calc(100% - 20px);
            max-height: calc(100% - 20px);
            opacity: 0;
            transition: opacity .5s;
        }

        main .contact{
            background: #fff;
            padding-top: 112px;
            padding-bottom: 90px;
            overflow: hidden;
        }
        main .contact .ttl{
            margin-bottom: 112px;
        }
        main .contact .content .txt{
            width: 500px;
            line-height: 1;
        }
        main .contact .content .txt{
            opacity: 0;
            transform: translateX(50px);
            transition: transform .4s,opacity .4s;
        }
        main .contact .content .form{
            opacity: 0;
            transform: translateX(-50px);
            transition: transform .5s,opacity .5s;
        }
        main .contact .content>*.frozen{
            opacity: 1;
            transform: translateX(0px) !important;
        }
        main .contact .content .txt p{
            font-size: 18px;
            color: #7e7e7e;
            margin-top: 12px;
        }
        main .contact .content .txt p:first-child{
            font-size: 24px;
            color: #000;
            font-weight: bold;
            padding-bottom: 12px;
            margin-bottom: 36px;
            position: relative;
        }
        main .contact .content .txt p:first-child::after{
            content: '';
            position: absolute;
            width: 60px;
            height: 2px;
            background: #a01f24;
            bottom: 0px;
            left: 0px;
        }
        main .contact .content .form{
            flex: 1;
        }
        main .contact .content .form form{
            overflow: hidden;
        }
        main .contact .content .form form>*{
            float: left;
            border: 1px solid #EDEDED;
            line-height: 48px;
            padding-left: 20px;
            font-size: 14px;
            background: #f5f5f5;
        }
        main .contact .content .form form>*::placeholder{
            color: #c1c1c1;
        }
        main .contact .content .form form .textarea{
            height: 125px;
            padding: 20px;
            line-height: 1.4;
        }
        main .contact .content .form form input{
            width: calc(50% - 24px);
            margin-top: 20px;
        }
        main .contact .content .form form input:last-child{
            margin-left: 48px;
        }
        main .contact .content .form .submit{
            width: 90px;
            text-align: center;
            line-height: 50px;
            font-size: 18px;
            color: #fff;
            background: rgba(160,31,6,1);
            margin-top: 32px;
            transition: background .4s;
        }
        main .contact .content .form .submit:hover{
            background: rgba(160,31,6,.9);
        }


        @media(max-width:1600px){
            main .headSwp{
                height: 600px;
            }
            
            main .hd .txt p:first-child{
                margin-bottom: 20px;
            }
            main .hd img{
                width: 160px;
                margin-right: 30px;
            }
            main .hd .form{
                padding: 0px 40px;
            }
            main .hd .form .flex form input,
            main .hd .form .flex .book{
                line-height: 42px;
            }
            main .hd .form .flex .book{
                font-size: 16px;
            }

            main .service ul li .picTxt{
                padding: 0px 24px;
                padding-top: 30px;
            }
            main .service ul li .list .item{
                padding: 24px;
                padding-top: 30px;
                font-size: 16px;
            }
            main .service ul li .list .item .name{
                margin-bottom: 10px;
            }
            main .service ul li .list .item .advtg{
                margin-top: 36px;
            }
            main .service ul li:nth-child(1) .list .item a{
                height: 42px;
            }
            main .service ul li .list .item .advtg p{
                margin-top: 12px;
            }
        }

        @media(max-width:1200px){
            main .headSwp{
                height: 540px;
            }

            main .hd .form{
                padding: 0px 30px;
                width: 420px;
            }
            main .hd .form .flex .book{
                width: 100px;
                letter-spacing: 2px;
            }
            main .hd .form .flex form input{
                padding-left: 12px;
            }
        }
        @media(max-width:1024px){
            main .headSwp{
                height: 480px;
            }

            main .hd{
                height: initial;
                padding-top: 16px;
                padding-bottom: 72px;
                position: relative;
            }   
            main .hd .txt p:first-child{
                margin-bottom: 15px;
            }
            main .hd .form>p{
                display: none;
            }
            main .hd .form{
                padding: 0px;
                width: calc(100% - 80px);
                max-width: 500px;
                position: absolute;
                left: 50%;
                bottom: 30px;
                transform: translate(-50%,50%);
            }
            main .hd .form .flex{
                margin: 0px;
            }
            
            main .hd .form .flex form input,
            main .hd .form .flex .book{
                line-height: 36px;
            }
            main .hd .form .flex form::after{
                height: 20px;
            }
            main .hd .form .flex .book{
                font-size: 14px;
            }
        }

        @media(max-width:767px){
            main .hd img{
                width: 150px;
            }
            main .hd .txt{
                font-size: 16px;
            }
        }

        @media(max-width:500px){
            main .hd{
                display: block;
                padding: 18px 10px;
            }
            main .hd img{
                margin: 0px;
            }
            main .hd .txt{
                margin-top: 12px;
                margin-bottom: 20px;
                padding-right: 0px;
            }
            main .hd .form{
                position: initial;
                transform: initial;
                margin: 0 auto;
                width: calc(100% - 40px);
            }
            main .hd .form .flex{
                display: block;
            }
            main .hd .form .flex form::before,
            main .hd .form .flex form::after{
                display: none;
            }
            main .hd .form .flex form input{
                float: initial;
                margin-bottom: 12px;
                width: 100% !important;
                border: 1px solid #EBEBEB;
            }
            main .hd .form .flex .book{
                margin: 0 auto;
            }
        }